=== Botão Canva Pro ===
Contributors: Mariana Machado
Donate link: https://www.bymariana.com.br/loja/plugin-botao-canva-pro-para-wordpress-com-addon-para-elementor
Tags: canva, elementor, digital products, access control, user log, download, license, terms and conditions
Requires at least: 5.6
Tested up to: 6.5
Requires PHP: 7.4
Stable tag: 2.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Este plugin e seu addon para Elementor foram desenvolvidos para facilitar a entrega de produtos digitais, garantindo o aceite dos termos de uso e o registro de acessos, ideal para modelos Canva, arquivos digitais e outros materiais protegidos.

== Descrição ==

O "Botão Canva Pro" é um plugin essencial para quem vende ou distribui produtos digitais e precisa garantir o aceite de termos e condições, além de registrar o acesso dos usuários. Integrado perfeitamente com o Elementor (versão 3.29.1 ou superior), ele oferece um widget intuitivo para configurar botões de acesso a materiais online, como modelos Canva, e-books, templates, cursos e muito mais.

**Funcionalidades Principais:**

* **Aceite Implícito de Termos:** O usuário aceita os termos e condições automaticamente ao clicar no botão de acesso, sem a necessidade de um checkbox visível. Um texto claro informa sobre este aceite.
* **Registro de Acessos:** Cada clique no botão de acesso é registrado no banco de dados, incluindo ID do usuário, nome, e-mail, IP e o link acessado.
* **Controle de Acesso:** O acesso é liberado apenas para usuários logados, garantindo que somente seus clientes ou membros tenham acesso aos materiais.
* **Compatibilidade com Elementor:** Um widget dedicado para Elementor permite total personalização do botão diretamente no editor, sem necessidade de código.
* **Estilos Flexíveis:** O botão de cópia possui controles de estilo avançados no Elementor (Cor, Degradê, Borda, Raio da Borda, Espaçamento Interno, Sombra, Tipografia e Espaçamento de Ícone), similar ao botão padrão do Element Elementor.
* **Botão de Visualização Opcional:** Inclua um botão "Visualizar Demo" opcional que aparece antes do botão de cópia, ideal para previews de produtos.
* **Persistência do Aceite:** Após o primeiro clique, o aceite é salvo no navegador do usuário (localStorage), para que ele não precise registrar novamente ao acessar o mesmo link.
* **Painel de Registros:** Visualize todos os acessos registrados no painel de administração do WordPress, com detalhes por usuário.

**Casos de Uso Ideal:**

* **Modelos Canva:** Entregue seus modelos Canva (links "usar template") garantindo que o cliente leu e aceitou seus termos de uso, ideal para políticas de reembolso e direitos autorais.
* **E-books, Templates e Arquivos Digitais:** Proteja o acesso aos seus downloads e certifique-se de que o usuário concorda com a política de uso do seu material.
* **Cursos Online e Áreas de Membros:** Registre o acesso a módulos específicos ou materiais complementares, útil para monitoramento e auditorias.
* **Qualquer Link Protegido:** Utilize para qualquer link externo ou interno onde você precise de um registro de acesso e aceite de termos.

== Instalação ==

1.  **Faça o Upload:**
    * Baixe o arquivo ZIP do plugin "Botão Canva Pro".
    * No seu painel do WordPress, vá em `Plugins` > `Adicionar Novo` > `Fazer Upload de Plugin`.
    * Escolha o arquivo ZIP `botao-canva-pro.zip` e clique em `Instalar Agora`.
    * Após a instalação, clique em `Ativar Plugin`.
2.  **Faça o Upload do Addon Elementor:**
    * Baixe o arquivo ZIP do addon "Botão Canva para Elementor Pro".
    * Repita o processo: `Plugins` > `Adicionar Novo` > `Fazer Upload de Plugin`.
    * Escolha o arquivo ZIP `botao-canva-elementor.zip` e clique em `Instalar Agora`.
    * Após a instalação, clique em `Ativar Plugin`.

**Atenção:** Certifique-se de que o plugin principal "Botão Canva Pro" e o Elementor (versão 3.29.1 ou superior) estejam instalados e ativos para que o addon funcione corretamente.

== Como Usar o Widget do Elementor ==

1.  **Edite uma Página/Post com Elementor:** Abra o editor do Elementor em qualquer página ou post.
2.  **Procure o Widget:** Na barra lateral de widgets do Elementor, procure por "Botão Canva Pro" (ou "Botão Canva" na categoria Geral).
3.  **Arraste e Solte:** Arraste o widget "Botão Canva Pro" para a área desejada da sua página.

**Configuração do Conteúdo (Painel do Elementor > Aba "Conteúdo"):**

* **Botão de Visualização (PRIMEIRO BOTÃO):**
    * **Mostrar Botão de Visualização?:** Ative/Desative para exibir o botão "Visualizar Demo".
    * **Texto do Botão de Visualização:** O texto que aparecerá no botão (Padrão: "VISUALIZAR").
    * **Ícone do Botão de Visualização:** Escolha um ícone da biblioteca do Elementor para acompanhar o texto.
    * **Link de Visualização:** O URL para onde o botão "Visualizar Demo" irá redirecionar.
* **Botão Principal (Cópia) (SEGUNDO BOTÃO):**
    * **Texto do Botão de Cópia:** O texto que aparecerá no botão principal (Padrão: "COPIAR").
    * **Ícone do Botão de Cópia:** Escolha um ícone para acompanhar o texto (Padrão: ícone de cópia `eicon-copy`).
    * **Link Principal (Cópia):** O URL final do seu produto digital (ex: link "usar template" do Canva, link de download de PDF, etc.). **Este é o link cujo acesso será registrado e que acionará o aceite dos termos.**
    * **Texto Informativo do Aceite:** Um texto que aparece acima do botão de cópia, informando ao usuário sobre o aceite implícito. (Padrão: "Ao clicar em COPIAR, você aceita os termos e condições."). Você pode personalizar o `COPIAR` dentro do texto e ele será substituído pelo texto real do seu botão.

**Configuração do Estilo (Painel do Elementor > Aba "Estilo"):**

Você tem controle total sobre o visual dos seus botões, seguindo a flexibilidade do Elementor:

* **Estilo: Botão de Cópia:**
    * **Cor do Texto:** Cor do texto do botão.
    * **Tipografia:** Fonte, tamanho, peso, etc.
    * **Fundo:** Escolha entre cor sólida ou degradê para o fundo do botão.
    * **Borda:** Tipo, largura e cor da borda.
    * **Raio da Borda:** Arredondamento dos cantos do botão.
    * **Espaçamento Interno:** Preenchimento interno do botão.
    * **Sombra da Caixa:** Adicione e configure uma sombra ao botão.
    * **Espaçamento do Ícone:** Ajuste o espaço entre o ícone e o texto.
* **Estilo: Botão de Visualização:** Controles de estilo idênticos ao botão de cópia, para total consistência visual.
* **Estilo: Texto Informativo:**
    * **Cor do Texto:** Cor do texto informativo do aceite.
    * **Tipografia:** Fonte, tamanho, peso, etc.

== Visualizando os Registros ==

Para ver os acessos registrados:

1.  No painel administrativo do WordPress, vá em **"Botão Canva"** (menu lateral).
2.  Você verá uma lista de usuários que clicaram nos seus botões.
3.  Clique em "Detalhes" ao lado de um usuário para ver todos os links que ele acessou.

== Perguntas Frequentes ==

**P: Posso usar este plugin para além de modelos Canva?**
R: Sim! Ele é perfeito para qualquer entrega de arquivo digital (e-books, templates, cursos, etc.) onde você precisa que o usuário aceite termos e que o acesso seja registrado.

**P: Como o aceite dos termos funciona se não há um checkbox visível?**
R: O plugin utiliza um "aceite implícito". Um texto claro ("Ao clicar em [SEU TEXTO DO BOTÃO], você aceita os termos e condições.") informa o usuário. Ao clicar no botão, o aceite é registrado automaticamente no banco de dados e no navegador do usuário (via localStorage), o que cumpre o critério de concordância.

**P: O que acontece se um usuário já clicou antes?**
R: O aceite é registrado apenas uma vez por usuário para cada link específico. Se o usuário já aceitou e clicou novamente (ou recarregou a página), o botão funcionará como um link normal, e nenhum novo registro será adicionado ao banco de dados para aquela combinação usuário-link.

**P: O que fazer se os estilos do Elementor não estiverem sendo aplicados corretamente?**
R: Verifique se os caches foram limpos rigorosamente (plugin de cache, Elementor, CDN, navegador). Se persistir, pode haver um conflito de especificidade de CSS com seu tema. Você pode tentar adicionar `!important` nas propriedades de estilo no Elementor ou no CSS do plugin (embora o Elementor geralmente já faça isso).

**P: O registro não está aparecendo no banco de dados, o que posso fazer?**
R:
1.  **Verifique os Logs de Erro do WordPress/Servidor:** Ative o `WP_DEBUG_LOG` no seu `wp-config.php` e verifique o arquivo `wp-content/debug.log` por erros PHP. Erros fatais podem impedir o funcionamento do AJAX.
2.  **Verifique o Console do Navegador:** Abra a página, abra as ferramentas de desenvolvedor (F12) e vá para a aba "Console". Clique no botão e procure por mensagens de erro em vermelho ou mensagens `BotaoCanva JS:` que indiquem falha.
3.  **Verifique a Aba "Network" (Rede) no Navegador:** Após clicar no botão, na aba "Network", procure pela requisição `admin-ajax.php` com o método POST e analise a aba "Response" para ver se o servidor retornou algum erro.

**P: O botão COPIAR abre em uma nova aba?**
R: Por padrão, sim. Os links configurados no Elementor têm a opção "Abrir em nova janela" ativada por padrão, o que é recomendado para links externos como os do Canva.

**P: Posso usar ícones personalizados?**
R: Sim, o Elementor permite escolher entre sua vasta biblioteca de ícones.

== Changelog ==

= 2.0 =
* Funcionalidade de aceite implícito: Checkbox oculto e pré-marcado.
* Texto informativo de aceite personalizável antes do botão principal.
* Controles de estilo avançados para o Botão COPIAR no Elementor (Cor, Degradê, Borda, Raio da Borda, Espaçamento Interno, Sombra, Tipografia).
* Suporte a ícones para os botões de COPIAR e VISUALIZAR.
* Ordem de exibição dos botões: VISUALIZAR (opcional) primeiro, COPIAR segundo.
* Otimizações de código PHP para compatibilidade com WordPress 6.x e PHP 7.4+.
* Melhorias no tratamento de usuários não logados no registro de acesso.
* Implementação de cache-busting rigoroso para CSS e JavaScript.
* Melhorias na inicialização do JavaScript para compatibilidade com Elementor e carregamento dinâmico de conteúdo.

== Créditos ==
Desenvolvido por Mariana Machado.
Design e ideias por Mariana Machado.